﻿using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using ChanExt;
using C.Unite;
using C.Entities;
using MySoft.Data;

namespace ArtLand.OA.Project.Sale
{
    public partial class Sale_RemindstrChange : CommonPageBase
    {

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                DataBaseHelper.BindDrp(Drp_CUTYPE_TH, EnumData.DataBaseEunm.RemindstrType);
                LoadData();

            }

        }


        private void LoadData()
        {

            // 关闭按钮的客户端脚本：
            // 1. 首先确认窗体中表单是否被修改（如果已经被修改，则弹出是否关闭的确认对话框）
            // 2. 然后关闭本窗体，回发父窗体
            btnClose.OnClientClick = ActiveWindow.GetConfirmHidePostBackReference();
            int id = 0;
            if (!string.IsNullOrEmpty(Request["id"]))
            {
                id = int.Parse(Request["id"]);
            }
            if (id > 0)
            {
                Sale_REMINDSTR tug = TbsDbSession.Default.From<Sale_REMINDSTR>().Where(Sale_REMINDSTR._.REID == id).ToFirst();
                txt_DTIME.Text = tug.DTIME.Value.ToString("yyyy-MM-dd");
                Drp_CUTYPE_TH.SelectedValue = tug.CUTYPE_TH;
            }
            #region old code
            // 1.第一种调用方法
            //string confirmText = "是否确认关闭当前页？<br/>您在当前页所做的修改没有保存。继续编辑当前页，请选择“取消”。<br/>选择“确定”关闭当前页，选择“取消”继续编辑当前页。";
            //string closeScript = CurrentActiveWindow.GetCloseReference();
            //string confirmScript = ChanExt.Confirm.GetShowReference(confirmText, "确认关闭", ChanExt.MessageBoxIcon.Warning, closeScript, "return false;");
            //btnClose.OnClientClick = String.Format("if({0}){{{1}}}else{{{2}}}", ChanExt.PageContext.GetPageStateChangedReference(), confirmScript, closeScript);

            //// 2.第二种调用方法
            //string confirmText = "是否确认关闭当前页？<br/>您在当前页所做的修改没有保存。继续编辑当前页，请选择“取消”。<br/>选择“确定”关闭当前页，选择“取消”继续编辑当前页。";
            //string closeScript = CurrentActiveWindow.GetCloseReference();
            //btnClose.OnClientClick = ChanExt.PageContext.GetPageStateChangedConfirmReference("确认关闭", confirmText, closeScript, "return false;");

            //// 3.第三种调用方法（并且在父页面中可以简单的 window1.OnClientCloseButtonClick = window1.GetIFramePageStateChangedFunction(); 来注册窗口右上角关闭按钮动作[即先判断IFrame中表单内容是否变化]）
            //PageContext.RegisterPageStateChangedStartupScript(); // 注意这个语句应该放在if的外面，否则回发时会出错
            //btnClose.OnClientClick = PageContext.GetPageStateChangedFunction();

            // 4.第四种调用方法（推荐的做法，页面中的PageManager控件增加属性RegisterPageStateChangedScript="true"，并且在父页面中可以简单的 window1.OnClientCloseButtonClick = window1.GetIFramePageStateChangedFunction(); 来注册窗口右上角关闭按钮动作[即先判断IFrame中表单内容是否变化]）
            //btnClose.OnClientClick = PageContext.GetConfirmFormModifiedReference(); 
            #endregion
        }


        protected void btnSaveRefresh_Click(object sender, EventArgs e)
        {
            int returnvalue = 0;
            Sale_REMINDSTR tm = new Sale_REMINDSTR();
            if (!string.IsNullOrEmpty(Request["id"]))
            {
                tm.REID = int.Parse(Request["id"]);
                tm.Attach();
                tm.CUTYPE_TH = Drp_CUTYPE_TH.SelectedValue;
                tm.DTIME =Convert.ToDateTime( txt_DTIME.Text);
                returnvalue = TbsDbSession.Default.Update<Sale_REMINDSTR>(tm);

            }
            else
            {
                tm.DeAttach();
                tm.CUTYPE_TH = Drp_CUTYPE_TH.SelectedValue;
                tm.DTIME = Convert.ToDateTime(txt_DTIME.Text);
                tm.CRPER = CookInfo.EAdminTrueName();
                tm.CRPID = CookInfo.EAdminid();
                tm.IsUser = true;
                returnvalue = TbsDbSession.Default.Insert<Sale_REMINDSTR>(tm);
            }
            if (returnvalue > 0)
            {

                PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference());
            }
        }


        //protected void Button1_Click(object sender, EventArgs e)
        //{
        //    Alert.Show("提示内容");
        //}
    }
}